作為資料工程師,或說是負責處理資料工程的角色,我們需要具備什麼能力呢?其實從過去到現在的資料工程師的角色,隨著應用的不同以及工具的演變,資料工程師的角色默默的在轉變當中。
早期階段:1980~2000 數據倉儲到網路
數據倉儲或可以說是最早開始的資料工程師所要負責的職務,透過交易的資料進行資料倉儲的資料搬移以及整合,藉此提供決策者所需的數據參考。到了1990左右,網路服務開始興起,因著各個網路公司的興起,為了要支持網站服務,後端服務開始興起許多的改變。也因此有許多資料透過網路服務中被產生以及儲存。
2000 年代初期 現代資料工程的雛形
1990年代的網路泡沫破滅後,其中存留的公司像是 Yahoo, Google, Amazon,逐漸成長茁壯成為強大的科技公司。因著服務發展,所接收的資料日漸增長,傳統的技術不一定能完全支持龐大的資料量的使用。逐漸研發新的分散式的架構方式來支持著大量的服務。
2000~2010 大數據工程
隨著數據爆炸形成漲,以及相關演算法的開發,再加上媒體還有社會氛圍對於大數據的大肆宣揚,每間公司都爭相要建立自己的大數據系統架構。在Google 2004年發表MapReduce 論文之後,Yahoo的工程師在2006年開發並開源了 Apache Hadoop,新一代的開元技術生態提供了許多的可能性。大數據工程師也在此時成為了熱門的職業。
圖片來源:Hadoop Essentials by Swizec Teller
MapReduce 論文 https://static.googleusercontent.com/media/research.google.com/zh-TW//archive/mapreduce-osdi04.pdf
大概了解過去到現在的資料工程師的演變之後,我們大概就可以有一個感覺,資料工程師所需要的技能是非常全面的,一方面要能夠成功的優化或是使用過去的架構,同時又要使用或導入新的技術。SeattleDataGuy將資料工程師所需的技能整合整理如下圖。
圖片出處:https://dev.to/seattledataguy/what-skills-do-data-engineers-need-the-data-engineering-skill-pyramid-8hk
在資料工程師所需要的技能中大概可以分為以下幾個部分:
Reference : Fundamentals of Data Engineering: Plan and Build Robust Data Systems
-- Joe Reis, Matt Housley
了解過去到現在的轉變,除了增加相關知識外,也讓我們學習過去的智慧,從技術的更替中更理解技術發展的途徑,也可以在我們開發的過程當中加入更多面向的思維。